package com.fdb.efp.nls.service.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

/**
 * 需求编号：2019D0519<br/>
 * 问题编号：<br/>
 * 功能描述：Ok文件校验工具<br/>
 * 开发人员：周才顺<br/>
 * 创建日期：2019年7月2日 下午5:52:25
 * @author zhoucs1
 * @since  1.0
 * @version 1.0
 */
public class OkFileValidateUtil {
	
	//工具类，防止被实例
	private OkFileValidateUtil() {}

	//校验Ok文件
	public static void validateOkFile(String okFilePath,String count) throws Exception{
		
		
		//读取ok文件
		BufferedReader br = null;
		
		try {
			br = new BufferedReader(new FileReader(new File(okFilePath)));
			//开始处理文件（只读取第一行）
			String s = br.readLine();
			//当第一行中没有数据时抛出异常
			if(s == null || "".equals(s.trim())){
				throw new Exception("ok文件第一行中没有任何数据");
			}
			//以等号分割第一行数据
			String[] infoArray = s.split("=");
			if(infoArray.length != 2) {
				throw new Exception("ok文件信息有误，未按标准格式生成");
			}
			
			//验证记录数
			if(!infoArray[1].trim().equals(count)) {
				throw new Exception("ok文件信息有误，记录数有误");
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			throw new Exception(e.getMessage());
		} finally {
			if(br != null) {
				br.close();
			}
		}
		
	}
}
